import time

from selenium.webdriver.common.by import By

from common.Utils import BlogDriver


class BlogEdit:
    url = ''
    driver = ''
    def __init__(self):
        self.url = 'http://113.45.147.167:9090/blog_edit.html'
        self.driver = BlogDriver.driver
        self.driver.get(self.url)

    # 正确发布博客（登录状态）
    def EditSucTestByLogin(self):
        self.driver.find_element(By.CSS_SELECTOR, 'body > div.nav > a:nth-child(5)').click()
        self.driver.find_element(By.CSS_SELECTOR, '#title').send_keys('自动化测试创建')
        # 找到编辑区，输入关键词（编辑器不可操作）
        # 菜单栏元素无法定位
        # 博客系统编辑区默认情况下不为空，暂不处理

        # 直接点击发布按钮发布博客
        self.driver.find_element(By.CSS_SELECTOR, '#submit').click()
        # 点击完成后出现跳转页面，页面跳转需要加载时间，可能会出现代码执行宿舍比页面渲染速度要快，
        # 导致元素查找不到，因此需要添加等待
        alert = self.driver.switch_to.alert
        # time.sleep(1)
        alert.accept()

        actual = self.driver.find_element(By.CSS_SELECTOR, 'body > div.container > div.right > div:nth-child(1) > div.title').text
        assert actual == '自动化测试创建'
        # 屏幕截图
        BlogDriver.getScreeShot()